package com.unhz.generator.utils;




    import net.sf.json.JSONObject;

    import java.io.*;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;

/**
     * URL工具
     * @author gary
     *
     */
    public class HttpClient {

        /**
         * 向指定URL发送POST方法的请求
         *
         * @param url
         *            发送请求的URL
         * @param params
         *            请求参数，请求参数应该是name1=value1&name2=value2的形式。
         * @return URL所代表远程资源的响应
         */
        public static String sendPost(String url, String params) throws UnsupportedEncodingException  {
            String utf=new String(params.getBytes("GBK"),"UTF-8");
            PrintWriter out = null;
            BufferedReader in = null;
            String result = "";
            try {
                URL realUrl = new URL(url);
                // 打开和URL之间的连接
                URLConnection conn = realUrl.openConnection();
                // 设置通用的请求属性
                conn.setRequestProperty("Content-type", "text/xml" + "; charset=GBK");
                conn.setRequestProperty("charset", "GBK");
                conn.setRequestProperty("accept", "*/*");
                conn.setRequestProperty("connection", "Keep-Alive");
                conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");


                // 发送POST请求必须设置如下两行
                conn.setDoOutput(true);
                conn.setDoInput(true);
                // 获取URLConnection对象对应的输出流
                out = new PrintWriter(conn.getOutputStream());
                // 发送请求参数
                out.print(utf);
                // flush输出流的缓冲
                out.flush();

                // 定义BufferedReader输入流来读取URL的响应
                in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String line;
                while ((line = in.readLine()) != null) {
                    result += "\n" + line;
                }
            } catch (Exception e) {
                System.out.println("发送POST请求出现异常！" + e);
                e.printStackTrace();
            }
            // 使用finally块来关闭输出流、输入流
            finally {
                try {
                    if (out != null) {
                        in.close();
                    }
                    if (in != null) {
                        in.close();
                    }
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
            return result;
        }
 /*  public static void main(String[] args) {
        String url = "http://202.91.244.252:30001/yqx/v1/sms/single_send";
        *//**
         * {"account":"6038",
         "extend":"",
         "mobile":"17624401057",
         "sign":"YjY4OTM2YmVhZDZjYzVkN2FiZGI3NzM3NjllMGZiMDg=",
         "text":"【云企讯】您的验证码是 1234"}
         *//*
        JSONObject json=new JSONObject();
        json.put("account",6038);
        json.put("mobile","15757113147");
        json.put("sign","YjY4OTM2YmVhZDZjYzVkN2FiZGI3NzM3NjllMGZiMDg=");
        json.put("text","【云企讯】您的验证码是 1234");


        String params =json.toString();
        String str = HttpClient.sendPost(url, params);
        System.out.println(str);
    }*/
}
